This relates to the display and storage of information and, more particularly, to a method and apparatus for creating substantially identical simultaneously interactive documents at two or more communication terminals. It also relates to a method and apparatus for correcting communication errors that is especially useful in such a system.
In a conventional computer terminal, a computer user interacts with the computer generated display by means of input devices such as a keyboard, a mouse, a light pen or the like. Typically, the keyboard or mouse controls some form of indicator or cursor which marks the location on the display at which the user may enter data using suitable keystrokes or mouse controls. While the operation of a light pen is considerably different, it too can be used to identify a location on the display and to control the entry of information at that point.
Many types of documents, such as those comprising written text and/or drawings, can be created and displayed on a computer terminal. These documents are usually substantially larger than can be viewed on a terminal's screen at any one time. As a result, systems have been developed wherein a copy of the document is maintained in the computer terminal's memory, typically in Random Access Memory (RAM) or on disk, and an autonomous video display subsystem continually and automatically displays the portion of the document desired to be viewed by the computer terminal operator. The video display subsystem determines the portion of the document to be displayed according to the location of the cursor. More specifically, the video display subsystem operates to always display the cursor and a predetermined sized field around the cursor. As the terminal user moves the cursor beyond the portion of the document currently displayed, the video display subsystem automatically displays the new portion of the document on the video screen. When the document is modified by the computer terminal user, the modification is normally first made to the copy of the document maintained in the terminal's memory (e.g. RAM or disk) and then automatically displayed on the video display by the video display subsystem.
Situations frequently arise where it is desirable to communicate by means of a display. This can be done by transmitting the image of a display screen from one computer terminal to another. In addition, it is possible to arrange the communication so that one computer terminal controls the other terminal in a master-slave relation so that the same information is displayed on the display screens of both terminals. Such a system, however, has the disadvantage that the display is controlled solely by the user at the master terminal. As a result, communication is purely a one-way affair. By analogy to a conventional data communication system, such a system may be referred to as a simplex system.
Systems have been developed to provide for two-way communication via a display. For example, a Shareware program, Draw2Me, permits users at two terminals to interact with the same display at different times. In this system, the same display is generated at each terminal and each user controls an indicator or cursor that identifies the location on the screen where he can enter information. However, only one user at a time is allowed to enter information; the second user is locked out until the first user is finished. By analogy to a conventional data communication system, this system may be referred to as a half-duplex system since it permits two-way communication but only one way at a time.
Other systems, such as Carbon Copy, do not lock out the second user. However, since either user can only enter data at one common point on the same display on a first-come first-served basis, the resulting display will be gibberish unless the users adopt a verbal communication protocol which permits only one of them to access the screen at a time. For all practical purposes, this system of communication is only one way at a time.